package com.lp.sys.service.impl;

import com.lp.sys.common.Constast;
import com.lp.sys.mapper.RegisterMapper;
import com.lp.sys.service.RegisterService;
import org.apache.shiro.crypto.hash.Md5Hash;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.UUID;

@Service
public class RegisterServiceImpl implements RegisterService {

    @Autowired
    private RegisterMapper registerMapper;

    @Override
    public boolean registerUser(String loginname, String pwd, String name) {
        // 检查用户是否已存在
        if (registerMapper.existsByLoginname(loginname)) {
            return false; // 用户已存在，返回 false
        }

        // 生成随机盐值
        String salt = UUID.randomUUID().toString();

        // 对密码进行加密（使用盐值）
        String hashedPwd = new Md5Hash(pwd, salt, 2).toString();

//        Integer type = 1;
        // 设置默认用户类型为普通用户
        Integer type = Constast.USER_TYPE_NORMAL;

        // 插入新用户（将盐值也存入数据库）
        int result = registerMapper.insertUser(loginname, hashedPwd, name,salt,type);
        return result > 0; // 插入成功返回 true，否则返回 false
    }
}
